
Type Vector3
	Field x:Float
	Field y:Float
	Field z:Float
	
	Function Create:Vector3(x:Float, y:Float, z:Float)
		Local vec3:Vector3 = New Vector3
		vec3.x	= x
		vec3.y	= y
		vec3.z	= z
		
		Return vec3
	End Function
	
	Method toC:Byte ptr()
		return varptr(self.x)
	End Method
	
	Method fromC(c:Byte ptr)
		Self.x = Float ptr(c)[0]
		Self.y = Float ptr(c)[1]
		Self.z = Float ptr(c)[2]
	End Method
	
	Method getX:Float()
		Return Self.x
	End Method
	
	Method getY:Float()
		Return Self.y
	End Method
	
	Method getZ:Float()
		Return Self.z
	End Method
End Type